package com.ph.shopping.facade.product.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
/**
 * 商品信息VO 
 * @author hewl
 *
 */
public class PhProductVo implements Serializable{
    /**
	 *  
	 */
	private static final long serialVersionUID = -182945905826655815L;
	/** 商品扩展id */
    private String custorId;

	/** 商品id */
    private Long id;

    /** 商品名称 */
    private String productName;

    /** 商品数量 */
    private Integer productCount;

    /** 市场参考价 */
    private BigDecimal referencePrice;

    /** 零售价 */
    private BigDecimal retailPrice;

    /** 进货价 */
    private BigDecimal purchasePrice;

    /** 结算价 */
    private BigDecimal settlementPrice;

    /** 促销价 */
    private BigDecimal promotionPrice;

    /** 促销日期起 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date promotionDateStart;

    /** 促销日期止 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date promotionDateEnd;

    /** 商品描述 */
    private String description;

    /** 商品类别id */
    private Long productClassifyId;
    /** 商品类别id扩展List */
    private List productClassifyIdList;
    
    private String productClassifyName;//类别名称

    /** 线上线下状态 1 线上 2 线下 */
    private Integer onlineOfflineStatus;

    /** 上架下架状态 1 上架 2 下架 */
    private Integer saleNoSaleStatus;
    /**包邮数量 */
    private Integer numberOfPackages;

    /** 审核状态 1 未审核 2 已审核 */
    private Integer auditState;
    private String auditStateExtends;//扩展审核状态字段
    private List auditStateExtendsList;//扩展审核状态字段
    /*类型区分1.全国，2本地*/
    private Integer productType;//

    /** 创建时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date createTime;

    /** 删除标记 1未删除 2 已删除 */
    private Integer deleteFlag;

    /** 市级起批数量 */
    private Integer municipalBatchQuantity;

    /** 商户起批数量 */
    private Integer sellerbAtchQuantity;

    /** 起售数量 */
    private Integer saleQuantity;

    /** 商品来源 1 平台 2 代理商 */
    private Integer productForm;

    /** 条形码 */
    private String barCode;

    /** 供应商id */
    private Long supplierId;
    /** 供应商扩展id */
    private Long supplierExtendsId;
    
    private String supplierName;//供应商

    /** 物流费用 */
    private BigDecimal freight;

    /** 修改时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date updateTime;

    /** 创建人 */
    private Long createUser;

    /** 修改人 */
    private Long updateUser;
    
    private String createUserName;//创建人名称 
    
    private String updateUserName;//修改人名称
    //销量
    private String productOrderNum;
    private List<PhProductImageVo> phProductImageVoList;//图片
	private List<PhProductClassifyVo> phProductClassifyVoList;//类型
	private List<PhProductPropertyVo> phProductPropertyVoList;//属性
	private List<PhProductPropertyValVo> phProductPropertyValVoList;//属性值
	private List<PhProductVo> phProductVoList;//商品
	
	
    public String getCustorId() {
		return custorId;
	}

	public void setCustorId(String custorId) {
		this.custorId = custorId;
	}

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName == null ? null : productName.trim();
    }

    public Integer getProductCount() {
        return productCount;
    }

    public void setProductCount(Integer productCount) {
        this.productCount = productCount;
    }

    public BigDecimal getReferencePrice() {
        return referencePrice;
    }

    public void setReferencePrice(BigDecimal referencePrice) {
        this.referencePrice = referencePrice;
    }

    public BigDecimal getRetailPrice() {
        return retailPrice;
    }

    public void setRetailPrice(BigDecimal retailPrice) {
        this.retailPrice = retailPrice;
    }

    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public BigDecimal getSettlementPrice() {
        return settlementPrice;
    }

    public void setSettlementPrice(BigDecimal settlementPrice) {
        this.settlementPrice = settlementPrice;
    }

    public BigDecimal getPromotionPrice() {
        return promotionPrice;
    }

    public void setPromotionPrice(BigDecimal promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

    public Date getPromotionDateStart() {
        return promotionDateStart;
    }

    public void setPromotionDateStart(Date promotionDateStart) {
        this.promotionDateStart = promotionDateStart;
    }

    public Date getPromotionDateEnd() {
        return promotionDateEnd;
    }

    public void setPromotionDateEnd(Date promotionDateEnd) {
        this.promotionDateEnd = promotionDateEnd;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    public Long getProductClassifyId() {
        return productClassifyId;
    }

    public void setProductClassifyId(Long productClassifyId) {
        this.productClassifyId = productClassifyId;
    }

    public Integer getOnlineOfflineStatus() {
        return onlineOfflineStatus;
    }

    public void setOnlineOfflineStatus(Integer onlineOfflineStatus) {
        this.onlineOfflineStatus = onlineOfflineStatus;
    }

    public Integer getSaleNoSaleStatus() {
        return saleNoSaleStatus;
    }

    public void setSaleNoSaleStatus(Integer saleNoSaleStatus) {
        this.saleNoSaleStatus = saleNoSaleStatus;
    }

    public Integer getAuditState() {
        return auditState;
    }

    public void setAuditState(Integer auditState) {
        this.auditState = auditState;
    }
    
    public Integer getProductType() {
		return productType;
	}

	public void setProductType(Integer productType) {
		this.productType = productType;
	}

	public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Integer getMunicipalBatchQuantity() {
        return municipalBatchQuantity;
    }

    public void setMunicipalBatchQuantity(Integer municipalBatchQuantity) {
        this.municipalBatchQuantity = municipalBatchQuantity;
    }

    public Integer getSellerbAtchQuantity() {
        return sellerbAtchQuantity;
    }

    public void setSellerbAtchQuantity(Integer sellerbAtchQuantity) {
        this.sellerbAtchQuantity = sellerbAtchQuantity;
    }

    public Integer getSaleQuantity() {
        return saleQuantity;
    }

    public void setSaleQuantity(Integer saleQuantity) {
        this.saleQuantity = saleQuantity;
    }

    public Integer getProductForm() {
        return productForm;
    }

    public void setProductForm(Integer productForm) {
        this.productForm = productForm;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode == null ? null : barCode.trim();
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public BigDecimal getFreight() {
        return freight;
    }

    public void setFreight(BigDecimal freight) {
        this.freight = freight;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

	public List<PhProductImageVo> getPhProductImageVoList() {
		return phProductImageVoList;
	}

	public void setPhProductImageVoList(List<PhProductImageVo> phProductImageVoList) {
		this.phProductImageVoList = phProductImageVoList;
	}

	public List<PhProductClassifyVo> getPhProductClassifyVoList() {
		return phProductClassifyVoList;
	}

	public void setPhProductClassifyVoList(List<PhProductClassifyVo> phProductClassifyVoList) {
		this.phProductClassifyVoList = phProductClassifyVoList;
	}


	public List<PhProductPropertyVo> getPhProductPropertyVoList() {
		return phProductPropertyVoList;
	}

	public void setPhProductPropertyVoList(List<PhProductPropertyVo> phProductPropertyVoList) {
		this.phProductPropertyVoList = phProductPropertyVoList;
	}

	public List<PhProductPropertyValVo> getPhProductPropertyValVoList() {
		return phProductPropertyValVoList;
	}

	public void setPhProductPropertyValVoList(List<PhProductPropertyValVo> phProductPropertyValVoList) {
		this.phProductPropertyValVoList = phProductPropertyValVoList;
	}

	public String getProductClassifyName() {
		return productClassifyName;
	}

	public void setProductClassifyName(String productClassifyName) {
		this.productClassifyName = productClassifyName;
	}

	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}

	public String getProductOrderNum() {
		return productOrderNum;
	}

	public void setProductOrderNum(String productOrderNum) {
		this.productOrderNum = productOrderNum;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public String getUpdateUserName() {
		return updateUserName;
	}

	public void setUpdateUserName(String updateUserName) {
		this.updateUserName = updateUserName;
	}

	public Long getSupplierExtendsId() {
		return supplierExtendsId;
	}

	public void setSupplierExtendsId(Long supplierExtendsId) {
		this.supplierExtendsId = supplierExtendsId;
	}

	public String getAuditStateExtends() {
		return auditStateExtends;
	}

	public void setAuditStateExtends(String auditStateExtends) {
		this.auditStateExtends = auditStateExtends;
	}

	public List getAuditStateExtendsList() {
		return auditStateExtendsList;
	}

	public void setAuditStateExtendsList(List auditStateExtendsList) {
		this.auditStateExtendsList = auditStateExtendsList;
	}

	public Integer getNumberOfPackages() {
		return numberOfPackages;
	}

	public void setNumberOfPackages(Integer numberOfPackages) {
		this.numberOfPackages = numberOfPackages;
	}

	public List<PhProductVo> getPhProductVoList() {
		return phProductVoList;
	}

	public void setPhProductVoList(List<PhProductVo> phProductVoList) {
		this.phProductVoList = phProductVoList;
	}

	public List getProductClassifyIdList() {
		return productClassifyIdList;
	}

	public void setProductClassifyIdList(List productClassifyIdList) {
		this.productClassifyIdList = productClassifyIdList;
	}
	
	
	
}